Naturally Embedded DSLs
نویسندگان
چکیده
Domain-specific languages can be embedded in a variety of ways within a host language. The choice of embedding approach entails significant tradeoffs in the usability of the embedded DSL. We argue embedding DSLs naturally within the host language results in the best experience for end users of the DSL. A naturally embedded DSL is one that uses natural syntax, static semantics, and dynamic semantics for the DSL, all of which may differ from the host language. Furthermore, it must be possible to use DSLs together naturally—meaning that different DSLs cannot conflict, and the programmer can easily tell which code is written in which language.
منابع مشابه
A Lightweight Framework for Universal Fragment Composition
Domain-specific languages (DSLs) are useful tools for coping with complexity in software development. DSLs provide developers with appropriate constructs for specifying and solving the problems they are faced with. While the exact definition of DSLs can vary, they can roughly be divided into two categories: embedded and non-embedded. Embedded DSLs (E-DSLs) are integrated into general-purpose ho...
متن کاملStrategies and Tradeoffs in Designing and Implementing Embedded DSLs
Domain Specific Language (DSL) is an elegant software engineering solution to fairly complex problems in specific subject areas. While DSLs provide apt solutions to many domain problems, developing a DSL from the scratch is a laborious task that consumes considerable amount of money and time. Recently embedding has become a widely used methodology to develop DSLs. Embedded DSLs (EDSLs) reduces ...
متن کاملDSLs of Mathematics, Theorems and Translations
We view mathematics as a rich source of examples of DSLs. For example, the language of group theory, or the language of probability theory, embedded in that of measure theory. The idea that the various branches of mathematics are in fact DSLs embedded in the “general purpose language” of set theory was (even if not expressed in these words) the driving idea of the Bourbaki project, which exerte...
متن کاملFormalizing Homogeneous Language Embeddings
The cost of implementing syntactically distinct Domain Specific Languages (DSLs) can be reduced by homogeneously embedding them in a host language in cooperation with its compiler. Current homogeneous embedding approaches either restrict the embedding of multiple DSLs in order to provide safety guarantees, or allow multiple DSLs to be embedded but force the user to deal with the interoperabilit...
متن کاملFunctional Programming for Domain-Specific Languages
Domain-specific languages become effective only in the presence of convenient lightweight tools for defining, implementing, and optimizing new languages. Functional programming provides a promising framework for such tasks; FP and DSLs are natural partners. In these lectures we will discuss FP techniques for DSLs—especially standalone versus embedded DSLs, and shallow versus deep embeddings.
متن کامل